import java.util.Random;
import java.util.Scanner;

public class test_3_2 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        while(scanner.hasNextInt()){//while (scanner.hasNextInt()) 循环会不断检查输入源中是否还有可解析为整数的标记。如果有，就使用 scanner.nextInt() 读取该整数并输出；如果输入的不是整数，循环就会终止，输出提示信息。
         int n= scanner.nextInt();
         for(int i=0;i<n;i++)
         {
             for(int j=0;j<n;j++){
                 if(i==j){
                     System.out.print('*');
                 }
                 else if(i+j==n-1){
                     System.out.print('*');//print没有换行
                 }else{
                     System.out.print(" ");
                 }
             }
             System.out.println();//换行直接写sout
         }
        }
    }
//    public static int Max(int a,int b) {
//        if(a>b){
//            return a;
//        }
//        else if(a<b) {
//            return b;
//        }
//        else{
//            return a;
//        }
//    }
//    public static double Max(double a,double b,double c) {
//        if((a>=b)&&(a>=c)){
//            return a;
//        }
//        else if((b>=a)&&(b>=c)){
//            return b;
//        }
//        else{
//            return c;
//        }
//    }
//    public static void main(String[] args) {//在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
//        int n=Max(4,5);
//        double m=Max(2.1,3.1,4.1);
//        System.out.println(n);
//        System.out.println(m);
//    }
//    public static int Fib(int j) {
//        if(j==0){
//            return 0;
//        }
//        if(j==1){
//            return 1;
//        }
//        int tmp=0;
//        int num1=0;//赋值为第0项
//        int num2=1;//赋值为第一项
//        for(int i=2;i<=j;i++){//这里开始迭代过程，引入i
//            tmp=num1+num2;
//            num1=num2;
//            num2=tmp;//画出分析
//        }
//        return tmp;
//    }
//    public static void main(String[] args) {//求斐波那契数列的第n项。(迭代实现) 不会有栈溢出的风险
//        Scanner scanner=new Scanner(System.in);
//        int i=scanner.nextInt();
//        int n=Fib(i);
//        System.out.println(n);
//    }
//    public static int  Fib(int n) {
//        if(n>=2){
//         return   Fib(n-2)+Fib(n-1);//注意是写Fib(n)=Fib(n-1)+Fib(n-2),而不是写为Fib(n-1)+Fib(n-2)=Fib(n)
//        }
//        else if(n==0){
//            return 0;
//        }
//        else{
//            return 1;
//        }
//    }
//    public static void main(String[] args) {//求斐波那契数列的第n项。(递归实现)
//        Scanner scanner=new Scanner(System.in);
//        int i=scanner.nextInt();
//        int r=Fib(i);
//        System.out.println(r);
//    }
//    public static int Facsum(int n) {
//        int sum=0;
//        for(int i=1;i<=n;i++){
//            sum+=Fac(i);
//        }
//        return sum;
//    }
//    public static int Fac(int n) {
//        int i=1;
//        int ret=1;
//        for(i=1;i<=n;i++){
//            ret*=i;
//        }
//        return ret;
//    }
//    public static void main(String[] args) {//求1！+2！+3！+4！+........+n!的和
//        Scanner scanner=new Scanner(System.in);
//        int n= scanner.nextInt();
//        int r=Facsum(n);
//        System.out.println(r);
//    }
    public static void main2(String[] args) {//编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输入，最多输入三次。三次均错，则提示退出程序
        int count=3;
        Random random=new Random();
        int randnum= random.nextInt();
        while(count!=0){
            Scanner scanner=new Scanner(System.in);
            int num= scanner.nextInt();
            if(num==randnum){
                System.out.println("登陆成功");
                break;
            }
            else{
                System.out.println("输入错误");
            }
            count--;
            System.out.println("你还有"+count+"次机会");
        }
    }
    public static void main1(String[] args) {//输出一个整数的每一位，如：123的每一位是3，2，1
        Scanner scanner=new Scanner(System.in);
        int n=scanner.nextInt();
        while(n!=0){
            System.out.println(n%10);
            n/=10;
        }
    }
}
